html, body {
    font-family: sans-serif;
}
html {
    overflow: hidden scroll;
    margin: 16px 24px 32px;
}
@media (min-width: 440px) {
    html {
        margin: 16px 36px 32px;
    }
}
body {
    margin: 0;
}
:root {
    --gray: #484644;
    --primary: #007aff;
}
@media (prefers-color-scheme: dark) {
    :root {
        color: #f8f8f8;
        --gray: #a19f9d;
        --primary:#0a84ff;
    }

    html {
        background-color: #000;
    };
}
html.dark {
    color: #f8f8f8;
    --gray: #a19f9d;
    --primary:#0a84ff;
    background-color: #000;
}
html.light {
    color: #000;
    --gray: #484644;
    --primary: #007aff;
    background-color: #fff;
}

h1, h2, h3, h4, h5, h6, b, strong {
    font-weight: 800;
}
a, a:hover, a:active {
    color: var(--primary);
    text-decoration: none;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
#main {
    max-width: 700px;
    margin: 0 auto;
    display: none;
}
#main.show {
    display: block;
    animation-name: fadeIn;
    animation-duration: 0.367s;
    animation-timing-function: cubic-bezier(0.1, 0.9, 0.2, 1);
    animation-fill-mode: both;
}

#main > p#source {
    color: var(--gray);
    font-size: .875rem;
    margin-block-end: .5rem;
}
#main > p#title {
    font-size: 1.375rem;
    line-height: 1.75rem;
    font-weight: 800;
    margin: 0;
}
#main > p#date {
    color: var(--gray);
    font-size: .875rem;
    margin-block-start: .5rem;
}

article {
    line-height: 1.6;
}
article * {
    max-width: 100%;
    overflow: hidden;
}
article img {
    height: auto;
}
article figure {
    margin: 16px 0;
    text-align: center;
}
article figure figcaption {
    font-size: .875rem;
    color: var(--gray);
    -webkit-user-modify: read-only;
}
article iframe {
    width: 100%;
}
article code {
    font-family: Monaco, Consolas, monospace;
    font-size: .875rem;
    line-height: 1;
}
article blockquote {
    border-left: 2px solid var(--gray);
    margin: 1em 0;
    padding: 0 16px;
}
article ul, article menu, article dir {
    padding-inline-start: 24px;
}
article li {
    overflow: visible;
}
article pre {
    white-space: pre-wrap;
    word-break: break-all;
}